/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package org.opensource.jdom.taggen.html;

import org.opensource.jdom.taggen.Tag;

/**
 *
 * Core attributes for HTML Tags.
 * 
 * @author sergio.valdez
 */
public class CoreAttributes extends Tag{

    /**
     * Identifies a unique element. The value of id can be used by CSS to 
     * reference that element. It can also be used by scripting languages to 
     * reference the element. Links can be made directly to an element with a 
     * specific id. The value of the id attribute must be unique.<br>
     * <p>If you have the HTML:</p>
     * <pre><code class="html">
     * &lt;p <strong>id="jelly"</strong>&gt;Wobble wobble wobble.&lt;/p&gt;
     * </code></pre>
     * <p>You can use the CSS:</p>
     * <pre><code class="css">
     * #jelly { background-color: red; }</code></pre>
     * 
     * <p>Or link to that paragraph using the following HTML:</p>
     * 
     * <pre><code class="html">
     * &lt;a href="#jelly"&gt;Jelly&lt;/a&gt;</code></pre>
     */
    private String id;

    /**
     * <p>Used to reference elements with CSS. Any number of elements can have
     * the same value (unlike <code>id</code>)</p>
     * <p>If you have the HTML:</p>
     *
     * <pre><code class="html">
     * &lt;p&gt;The stuff was &lt;span <strong>class="custard"</strong>&gt;
     * yellow&lt;/span&gt;, very, very &lt;strong <strong>class="custard"
     * </strong>&gt;yellow&lt;/strong&gt;.&lt;/p&gt;</code></pre>
     * <p>You can use the CSS:</p>
     *
     * <pre><code class="css">
     * .custard { color: yellow; }</code></pre>
     */
    private String cssClass;

    /**
     * <h3>style</h3>
     * <p>Applies style to an element. The value should be CSS code and used
     * something like this:</p>
     * <pre><code class="html">
     * &lt;p <strong>style="background-color: blue; color: yellow;"</strong>&gt;
     * Yellow text on a blue background.&lt;p&gt;</code></pre>
     * <p><strong>Note:</strong> The <code> style</code>
     * attribute is deprecated in the latest version of HTML and
     * <a href="/guides/cssbeginner/applyingcss/">embedded or external</a>
     * CSS should be used instead.</p>
     */
    private String cssStyle;

    /**
     * <h3>title</h3>
     * <p>Adds a title to an element. Many browsers will display the value of
     * this attribute when the element is hovered-over or is in focus.</p>
     */
    private String title;

    /**
     * Identifies a unique element. The value of id can be used by CSS to
     * reference that element. It can also be used by scripting languages to
     * reference the element. Links can be made directly to an element with a
     * specific id. The value of the id attribute must be unique.<br>
     * <p>If you have the HTML:</p>
     * <pre><code class="html">
     * &lt;p <strong>id="jelly"</strong>&gt;Wobble wobble wobble.&lt;/p&gt;
     * </code></pre>
     * <p>You can use the CSS:</p>
     * <pre><code class="css">
     * #jelly { background-color: red; }</code></pre>
     *
     * <p>Or link to that paragraph using the following HTML:</p>
     *
     * <pre><code class="html">
     * &lt;a href="#jelly"&gt;Jelly&lt;/a&gt;</code></pre>
     * @return the id
     */
    public String getId() {
        return id;
    }

    /**
     * Identifies a unique element. The value of id can be used by CSS to
     * reference that element. It can also be used by scripting languages to
     * reference the element. Links can be made directly to an element with a
     * specific id. The value of the id attribute must be unique.<br>
     * <p>If you have the HTML:</p>
     * <pre><code class="html">
     * &lt;p <strong>id="jelly"</strong>&gt;Wobble wobble wobble.&lt;/p&gt;
     * </code></pre>
     * <p>You can use the CSS:</p>
     * <pre><code class="css">
     * #jelly { background-color: red; }</code></pre>
     *
     * <p>Or link to that paragraph using the following HTML:</p>
     *
     * <pre><code class="html">
     * &lt;a href="#jelly"&gt;Jelly&lt;/a&gt;</code></pre>
     *
     * @param id the id to set
     */
    public void setId(String id) {
        this.id = id;
    }

    /**
     * <p>Used to reference elements with CSS. Any number of elements can have
     * the same value (unlike <code>id</code>)</p>
     * <p>If you have the HTML:</p>
     *
     * <pre><code class="html">
     * &lt;p&gt;The stuff was &lt;span <strong>class="custard"</strong>&gt;
     * yellow&lt;/span&gt;, very, very &lt;strong <strong>class="custard"
     * </strong>&gt;yellow&lt;/strong&gt;.&lt;/p&gt;</code></pre>
     * <p>You can use the CSS:</p>
     *
     * <pre><code class="css">
     * .custard { color: yellow; }</code></pre>
     *
     * @return the cssClass
     */
    public String getCssClass() {
        return cssClass;
    }

    /**
     * <p>Used to reference elements with CSS. Any number of elements can have
     * the same value (unlike <code>id</code>)</p>
     * <p>If you have the HTML:</p>
     *
     * <pre><code class="html">
     * &lt;p&gt;The stuff was &lt;span <strong>class="custard"</strong>&gt;
     * yellow&lt;/span&gt;, very, very &lt;strong <strong>class="custard"
     * </strong>&gt;yellow&lt;/strong&gt;.&lt;/p&gt;</code></pre>
     * <p>You can use the CSS:</p>
     *
     * <pre><code class="css">
     * .custard { color: yellow; }</code></pre>
     * 
     * @param cssClass the cssClass to set
     */
    public void setCssClass(String cssClass) {
        this.cssClass = cssClass;
    }

    /**
     *  <h3>style</h3>
     * <p>Applies style to an element. The value should be CSS code and used
     * something like this:</p>
     * <pre><code class="html">
     * &lt;p <strong>style="background-color: blue; color: yellow;"</strong>&gt;
     * Yellow text on a blue background.&lt;p&gt;</code></pre>
     * <p><strong>Note:</strong> The <code> style</code>
     * attribute is deprecated in the latest version of HTML and
     * <a href="/guides/cssbeginner/applyingcss/">embedded or external</a>
     * CSS should be used instead.</p>
     *
     * @return the cssStyle
     */
    public String getCssStyle() {
        return cssStyle;
    }

    /**
     *  <h3>style</h3>
     * <p>Applies style to an element. The value should be CSS code and used
     * something like this:</p>
     * <pre><code class="html">
     * &lt;p <strong>style="background-color: blue; color: yellow;"</strong>&gt;
     * Yellow text on a blue background.&lt;p&gt;</code></pre>
     * <p><strong>Note:</strong> The <code> style</code>
     * attribute is deprecated in the latest version of HTML and
     * <a href="/guides/cssbeginner/applyingcss/">embedded or external</a>
     * CSS should be used instead.</p>
     * 
     * @param cssStyle the cssStyle to set
     */
    public void setCssStyle(String cssStyle) {
        this.cssStyle = cssStyle;
    }

    /**
     * <h3>title</h3>
     * <p>Adds a title to an element. Many browsers will display the value of
     * this attribute when the element is hovered-over or is in focus.</p>
     *
     * @return the title
     */
    public String getTitle() {
        return title;
    }

    /**
     * <h3>title</h3>
     * <p>Adds a title to an element. Many browsers will display the value of
     * this attribute when the element is hovered-over or is in focus.</p>
     * 
     * @param title the title to set
     */
    public void setTitle(String title) {
        this.title = title;
    }

}
